namespace JGSY.CMS.LowCode.Platform.Application.DTOs
{
    /// <summary>
    /// 安全指标数据传输对象
    /// 用于传输系统安全相关的统计指标和监控数据
    /// </summary>
    public class SecurityMetricsDto
    {
        /// <summary>
        /// 活跃用户数
        /// 当前活跃的用户总数
        /// </summary>
        public int ActiveUsers { get; set; }
        
        /// <summary>
        /// 威胁检测数量
        /// 系统检测到的安全威胁总数
        /// </summary>
        public int ThreatCount { get; set; }
        
        /// <summary>
        /// 风险评估得分
        /// 系统整体安全风险评估分数(0-100)
        /// </summary>
        public double RiskScore { get; set; }
        
        /// <summary>
        /// 安全事件数量
        /// 记录的安全事件总数
        /// </summary>
        public int SecurityEventCount { get; set; }
        
        /// <summary>
        /// 登录失败次数
        /// 统计期间内的登录失败总次数
        /// </summary>
        public int FailedLoginAttempts { get; set; }
        
        /// <summary>
        /// 可信设备数量
        /// 系统中标记为可信的设备总数
        /// </summary>
        public int TrustedDevicesCount { get; set; }
        
        /// <summary>
        /// 设备总数量
        /// 系统中所有注册设备的总数
        /// </summary>
        public int DeviceCount { get; set; }
        
        /// <summary>
        /// 登录历史记录数量
        /// 系统中存储的登录历史记录总数
        /// </summary>
        public int LoginHistoryCount { get; set; }
        
        /// <summary>
        /// 统计时间范围开始时间
        /// 指标统计的起始时间
        /// </summary>
        public DateTime StartTime { get; set; }
        
        /// <summary>
        /// 统计时间范围结束时间
        /// 指标统计的结束时间
        /// </summary>
        public DateTime EndTime { get; set; }
        
        /// <summary>
        /// 最后更新时间
        /// 指标数据的最后更新时间戳
        /// </summary>
        public DateTime LastUpdated { get; set; }
    }
}